home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3x / curs_getch.z / curs_getch
Encoding:
Text File  |  2002-10-03  |  18.5 KB  |  333 lines

  1.  
  2.  
  3.  
  4. ccccuuuurrrrssss____ggggeeeettttcccchhhh((((3333XXXX))))                                                  ccccuuuurrrrssss____ggggeeeettttcccchhhh((((3333XXXX))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _cccc_uuuu_rrrr_ssss______gggg_eeee_tttt_cccc_hhhh:  _gggg_eeee_tttt_cccc_hhhh, _wwww_gggg_eeee_tttt_cccc_hhhh, _mmmm_vvvv_gggg_eeee_tttt_cccc_hhhh, _mmmm_vvvv_wwww_gggg_eeee_tttt_cccc_hhhh, _uuuu_nnnn_gggg_eeee_tttt_cccc_hhhh - get (or push
  10.      back) characters from _cccc_uuuu_rrrr_ssss_eeee_ssss terminal keyboard
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh_>>>>
  14.  
  15.      _iiii_nnnn_tttt _gggg_eeee_tttt_cccc_hhhh_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  16.      _iiii_nnnn_tttt _wwww_gggg_eeee_tttt_cccc_hhhh_((((_WWWW_IIII_NNNN_DDDD_OOOO_WWWW _****_wwww_iiii_nnnn_))))_;;;;
  17.      _iiii_nnnn_tttt _mmmm_vvvv_gggg_eeee_tttt_cccc_hhhh_((((_iiii_nnnn_tttt _yyyy_,,,, _iiii_nnnn_tttt _xxxx_))))_;;;;
  18.      _iiii_nnnn_tttt _mmmm_vvvv_wwww_gggg_eeee_tttt_cccc_hhhh_((((_WWWW_IIII_NNNN_DDDD_OOOO_WWWW _****_wwww_iiii_nnnn_,,,, _iiii_nnnn_tttt _yyyy_,,,, _iiii_nnnn_tttt _xxxx_))))_;;;;
  19.      _iiii_nnnn_tttt _uuuu_nnnn_gggg_eeee_tttt_cccc_hhhh_((((_iiii_nnnn_tttt _cccc_hhhh_))))_;;;;
  20.  
  21. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  22.      The _gggg_eeee_tttt_cccc_hhhh, _wwww_gggg_eeee_tttt_cccc_hhhh, _mmmm_vvvv_gggg_eeee_tttt_cccc_hhhh, and _mmmm_vvvv_wwww_gggg_eeee_tttt_cccc_hhhh routines read a character from
  23.      the terminal associated with the window.  In no-delay mode, if no input
  24.      is waiting, the value _EEEE_RRRR_RRRR is returned.  In delay mode, the program waits
  25.      until the system passes text through to the program.  Depending on the
  26.      setting of _cccc_bbbb_rrrr_eeee_aaaa_kkkk, this is after one character (_cccc_bbbb_rrrr_eeee_aaaa_kkkk mode), or after
  27.      the first newline (_nnnn_oooo_cccc_bbbb_rrrr_eeee_aaaa_kkkk mode).  In half-delay mode, the program waits
  28.      until a character is typed or the specified timeout has been reached.
  29.      Unless _nnnn_oooo_eeee_cccc_hhhh_oooo has been set, the character will also be echoed into the
  30.      designated window.
  31.  
  32.      If the window is not a pad, and it has been moved or modified since the
  33.      last call to _wwww_rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh, _wwww_rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh will be called before another character
  34.      is read.
  35.  
  36.      If _kkkk_eeee_yyyy_pppp_aaaa_dddd is _TTTT_RRRR_UUUU_EEEE, and a function key is pressed, the token for that
  37.      function key is returned instead of the raw characters.  Possible
  38.      function keys are defined in _cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh with integers beginning with _0000_4444_0000_1111,
  39.      whose names begin with _KKKK_EEEE_YYYY______....  If a character that could be the beginning
  40.      of a function key (such as escape) is received, _cccc_uuuu_rrrr_ssss_eeee_ssss sets a timer.  If
  41.      the remainder of the sequence does not come in within the designated
  42.      time, the character is passed through; otherwise, the function key value
  43.      is returned.  For this reason, many terminals experience a delay between
  44.      the time a user presses the escape key and the escape is returned to the
  45.      program.  Since tokens returned by these routines are outside the ASCII
  46.      range, they are not printable.
  47.  
  48.      The _uuuu_nnnn_gggg_eeee_tttt_cccc_hhhh routine places _c_h back onto the input queue to be returned by
  49.      the next call to _wwww_gggg_eeee_tttt_cccc_hhhh.
  50.  
  51.    FFFFuuuunnnnccccttttiiiioooonnnn KKKKeeeeyyyyssss
  52.      The following function keys, defined in _cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh, might be returned by
  53.      _gggg_eeee_tttt_cccc_hhhh if _kkkk_eeee_yyyy_pppp_aaaa_dddd has been enabled.  Note that not all of these may be
  54.      supported on a particular terminal if the terminal does not transmit a
  55.      unique code when the key is pressed or if the definition for the key is
  56.      not present in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo database.
  57.  
  58.  
  59.  
  60.  
  61.                                                                         PPPPaaaaggggeeee 1111
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. ccccuuuurrrrssss____ggggeeeettttcccchhhh((((3333XXXX))))                                                  ccccuuuurrrrssss____ggggeeeettttcccchhhh((((3333XXXX))))
  69.  
  70.  
  71.  
  72.      __________________________________________________________________
  73.      _N_a_m_e                 Key name
  74.      __________________________________________________________________
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.                                                                         PPPPaaaaggggeeee 2222
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.      _KKKK_EEEE_YYYY______BBBB_RRRR_EEEE_AAAA_KKKK            Break key
  136.      _KKKK_EEEE_YYYY______DDDD_OOOO_WWWW_NNNN             The four arrow keys ...
  137.      _KKKK_EEEE_YYYY______UUUU_PPPP
  138.      _KKKK_EEEE_YYYY______LLLL_EEEE_FFFF_TTTT
  139.      _KKKK_EEEE_YYYY______RRRR_IIII_GGGG_HHHH_TTTT
  140.      _KKKK_EEEE_YYYY______HHHH_OOOO_MMMM_EEEE             Home key (upward+left arrow)
  141.      _KKKK_EEEE_YYYY______BBBB_AAAA_CCCC_KKKK_SSSS_PPPP_AAAA_CCCC_EEEE        Backspace
  142.      _KKKK_EEEE_YYYY______FFFF_0000               Function keys; space for 64 keys is reserved.
  143.      _KKKK_EEEE_YYYY______FFFF_((((_n_))))             For 0 _< _n _< 63
  144.      _KKKK_EEEE_YYYY______DDDD_LLLL               Delete line
  145.      _KKKK_EEEE_YYYY______IIII_LLLL               Insert line
  146.      _KKKK_EEEE_YYYY______DDDD_CCCC               Delete character
  147.      _KKKK_EEEE_YYYY______IIII_CCCC               Insert char or enter insert mode
  148.      _KKKK_EEEE_YYYY______EEEE_IIII_CCCC              Exit insert char mode
  149.      _KKKK_EEEE_YYYY______CCCC_LLLL_EEEE_AAAA_RRRR            Clear screen
  150.      _KKKK_EEEE_YYYY______EEEE_OOOO_SSSS              Clear to end of screen
  151.      _KKKK_EEEE_YYYY______EEEE_OOOO_LLLL              Clear to end of line
  152.      _KKKK_EEEE_YYYY______SSSS_FFFF               Scroll 1 line forward
  153.      _KKKK_EEEE_YYYY______SSSS_RRRR               Scroll 1 line backward (reverse)
  154.      _KKKK_EEEE_YYYY______NNNN_PPPP_AAAA_GGGG_EEEE            Next page
  155.      _KKKK_EEEE_YYYY______PPPP_PPPP_AAAA_GGGG_EEEE            Previous page
  156.      _KKKK_EEEE_YYYY______SSSS_TTTT_AAAA_BBBB             Set tab
  157.      _KKKK_EEEE_YYYY______CCCC_TTTT_AAAA_BBBB             Clear tab
  158.      _KKKK_EEEE_YYYY______CCCC_AAAA_TTTT_AAAA_BBBB            Clear all tabs
  159.      _KKKK_EEEE_YYYY______EEEE_NNNN_TTTT_EEEE_RRRR            Enter or send
  160.      _KKKK_EEEE_YYYY______SSSS_RRRR_EEEE_SSSS_EEEE_TTTT           Soft (partial) reset
  161.      _KKKK_EEEE_YYYY______RRRR_EEEE_SSSS_EEEE_TTTT            Reset or hard reset
  162.      _KKKK_EEEE_YYYY______PPPP_RRRR_IIII_NNNN_TTTT            Print or copy
  163.                           Home down or bottom (lower left).  Keypad is
  164.                           arranged like this:
  165.                                _AAAA_1111    _uuuu_pppp    _AAAA_3333
  166.                               _llll_eeee_ffff_tttt   _BBBB_2222   _rrrr_iiii_gggg_hhhh_tttt
  167.                                _CCCC_1111   _dddd_oooo_wwww_nnnn   _CCCC_3333
  168.      _KKKK_EEEE_YYYY______LLLL_LLLL
  169.  
  170.  
  171.  
  172.  
  173.      _KKKK_EEEE_YYYY______AAAA_1111               Upper left of keypad
  174.      _KKKK_EEEE_YYYY______AAAA_3333               Upper right of keypad
  175.      _KKKK_EEEE_YYYY______BBBB_2222               Center of keypad
  176.      _KKKK_EEEE_YYYY______CCCC_1111               Lower left of keypad
  177.      _KKKK_EEEE_YYYY______CCCC_3333               Lower right of keypad
  178.      _KKKK_EEEE_YYYY______BBBB_TTTT_AAAA_BBBB             Back tab key
  179.      _KKKK_EEEE_YYYY______BBBB_EEEE_GGGG              Beg(inning) key
  180.      _KKKK_EEEE_YYYY______CCCC_AAAA_NNNN_CCCC_EEEE_LLLL           Cancel key
  181.      _KKKK_EEEE_YYYY______CCCC_LLLL_OOOO_SSSS_EEEE            Close key
  182.      _KKKK_EEEE_YYYY______CCCC_OOOO_MMMM_MMMM_AAAA_NNNN_DDDD          Cmd (command) key
  183.      _KKKK_EEEE_YYYY______CCCC_OOOO_PPPP_YYYY             Copy key
  184.      _KKKK_EEEE_YYYY______CCCC_RRRR_EEEE_AAAA_TTTT_EEEE           Create key
  185.      _KKKK_EEEE_YYYY______EEEE_NNNN_DDDD              End key
  186.      _KKKK_EEEE_YYYY______EEEE_XXXX_IIII_TTTT             Exit key
  187.      _KKKK_EEEE_YYYY______FFFF_IIII_NNNN_DDDD             Find key
  188.      _KKKK_EEEE_YYYY______HHHH_EEEE_LLLL_PPPP             Help key
  189.      _KKKK_EEEE_YYYY______MMMM_AAAA_RRRR_KKKK             Mark key
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.      _KKKK_EEEE_YYYY______MMMM_EEEE_SSSS_SSSS_AAAA_GGGG_EEEE          Message key
  207.      _KKKK_EEEE_YYYY______MMMM_OOOO_VVVV_EEEE             Move key
  208.      _KKKK_EEEE_YYYY______NNNN_EEEE_XXXX_TTTT             Next object key
  209.      _KKKK_EEEE_YYYY______OOOO_PPPP_EEEE_NNNN             Open key
  210.      _KKKK_EEEE_YYYY______OOOO_PPPP_TTTT_IIII_OOOO_NNNN_SSSS          Options key
  211.      _KKKK_EEEE_YYYY______PPPP_RRRR_EEEE_VVVV_IIII_OOOO_UUUU_SSSS         Previous object key
  212.      _KKKK_EEEE_YYYY______RRRR_EEEE_DDDD_OOOO             Redo key
  213.      _KKKK_EEEE_YYYY______RRRR_EEEE_FFFF_EEEE_RRRR_EEEE_NNNN_CCCC_EEEE        Ref(erence) key
  214.      _KKKK_EEEE_YYYY______RRRR_EEEE_FFFF_RRRR_EEEE_SSSS_HHHH          Refresh key
  215.      _KKKK_EEEE_YYYY______RRRR_EEEE_PPPP_LLLL_AAAA_CCCC_EEEE          Replace key
  216.      _KKKK_EEEE_YYYY______RRRR_EEEE_SSSS_TTTT_AAAA_RRRR_TTTT          Restart key
  217.      _KKKK_EEEE_YYYY______RRRR_EEEE_SSSS_UUUU_MMMM_EEEE           Resume key
  218.      _KKKK_EEEE_YYYY______SSSS_AAAA_VVVV_EEEE             Save key
  219.      _KKKK_EEEE_YYYY______SSSS_BBBB_EEEE_GGGG             Shifted beginning key
  220.      _KKKK_EEEE_YYYY______SSSS_CCCC_AAAA_NNNN_CCCC_EEEE_LLLL          Shifted cancel key
  221.      _KKKK_EEEE_YYYY______SSSS_CCCC_OOOO_MMMM_MMMM_AAAA_NNNN_DDDD         Shifted command key
  222.      _KKKK_EEEE_YYYY______SSSS_CCCC_OOOO_PPPP_YYYY            Shifted copy key
  223.      _KKKK_EEEE_YYYY______SSSS_CCCC_RRRR_EEEE_AAAA_TTTT_EEEE          Shifted create key
  224.      _KKKK_EEEE_YYYY______SSSS_DDDD_CCCC              Shifted delete char key
  225.      _KKKK_EEEE_YYYY______SSSS_DDDD_LLLL              Shifted delete line key
  226.      _KKKK_EEEE_YYYY______SSSS_EEEE_LLLL_EEEE_CCCC_TTTT           Select key
  227.      _KKKK_EEEE_YYYY______SSSS_EEEE_NNNN_DDDD             Shifted end key
  228.      _KKKK_EEEE_YYYY______SSSS_EEEE_OOOO_LLLL             Shifted clear line key
  229.      _KKKK_EEEE_YYYY______SSSS_EEEE_XXXX_IIII_TTTT            Shifted exit key
  230.      _KKKK_EEEE_YYYY______SSSS_FFFF_IIII_NNNN_DDDD            Shifted find key
  231.      _KKKK_EEEE_YYYY______SSSS_HHHH_EEEE_LLLL_PPPP            Shifted help key
  232.      _KKKK_EEEE_YYYY______SSSS_HHHH_OOOO_MMMM_EEEE            Shifted home key
  233.      _KKKK_EEEE_YYYY______SSSS_IIII_CCCC              Shifted input key
  234.      _KKKK_EEEE_YYYY______SSSS_LLLL_EEEE_FFFF_TTTT            Shifted left arrow key
  235.      _KKKK_EEEE_YYYY______SSSS_MMMM_EEEE_SSSS_SSSS_AAAA_GGGG_EEEE         Shifted message key
  236.      _KKKK_EEEE_YYYY______SSSS_MMMM_OOOO_VVVV_EEEE            Shifted move key
  237.      _KKKK_EEEE_YYYY______SSSS_NNNN_EEEE_XXXX_TTTT            Shifted next key
  238.      _KKKK_EEEE_YYYY______SSSS_OOOO_PPPP_TTTT_IIII_OOOO_NNNN_SSSS         Shifted options key
  239.      _KKKK_EEEE_YYYY______SSSS_PPPP_RRRR_EEEE_VVVV_IIII_OOOO_UUUU_SSSS        Shifted prev key
  240.      _KKKK_EEEE_YYYY______SSSS_PPPP_RRRR_IIII_NNNN_TTTT           Shifted print key
  241.      _KKKK_EEEE_YYYY______SSSS_RRRR_EEEE_DDDD_OOOO            Shifted redo key
  242.      _KKKK_EEEE_YYYY______SSSS_RRRR_EEEE_PPPP_LLLL_AAAA_CCCC_EEEE         Shifted replace key
  243.      _KKKK_EEEE_YYYY______SSSS_RRRR_IIII_GGGG_HHHH_TTTT           Shifted right arrow
  244.      _KKKK_EEEE_YYYY______SSSS_RRRR_SSSS_UUUU_MMMM_EEEE           Shifted resume key
  245.      _KKKK_EEEE_YYYY______SSSS_SSSS_AAAA_VVVV_EEEE            Shifted save key
  246.      _KKKK_EEEE_YYYY______SSSS_SSSS_UUUU_SSSS_PPPP_EEEE_NNNN_DDDD         Shifted suspend key
  247.      _KKKK_EEEE_YYYY______SSSS_UUUU_NNNN_DDDD_OOOO            Shifted undo key
  248.      _KKKK_EEEE_YYYY______SSSS_UUUU_SSSS_PPPP_EEEE_NNNN_DDDD          Suspend key
  249.      _KKKK_EEEE_YYYY______UUUU_NNNN_DDDD_OOOO             Undo key
  250.  
  251. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  252.      All routines return the integer _EEEE_RRRR_RRRR upon failure and an integer value
  253.      other than _EEEE_RRRR_RRRR upon successful completion.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272. NOTES
  273.      The header file _cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh automatically includes the header files _ssss_tttt_dddd_iiii_oooo_...._hhhh
  274.      and _uuuu_nnnn_cccc_tttt_rrrr_llll_...._hhhh.
  275.  
  276.      Use of the escape key by a programmer for a single character function is
  277.      discouraged.
  278.  
  279.      When using _gggg_eeee_tttt_cccc_hhhh, _wwww_gggg_eeee_tttt_cccc_hhhh, _mmmm_vvvv_gggg_eeee_tttt_cccc_hhhh, or _mmmm_vvvv_wwww_gggg_eeee_tttt_cccc_hhhh, _nnnn_oooo_cccc_bbbb_rrrr_eeee_aaaa_kkkk mode and _eeee_cccc_hhhh_oooo
  280.      mode should not be used at the same time.  Depending on the state of the
  281.      tty driver when each character is typed, the program may produce
  282.      undesirable results.
  283.  
  284.      Note that _gggg_eeee_tttt_cccc_hhhh, _mmmm_vvvv_gggg_eeee_tttt_cccc_hhhh, and _mmmm_vvvv_wwww_gggg_eeee_tttt_cccc_hhhh may be macros.
  285.  
  286. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  287.      _cccc_uuuu_rrrr_ssss_eeee_ssss(3X), _cccc_uuuu_rrrr_ssss______iiii_nnnn_oooo_pppp_tttt_ssss(3X), _cccc_uuuu_rrrr_ssss______mmmm_oooo_vvvv_eeee(3X), _cccc_uuuu_rrrr_ssss______rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh(3X)
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.